/**
 * 
 */
package org.iamd.web.util;

import org.iamd.web.mbeans.common.MBError;
import org.iamd.web.mbeans.common.MBLocale;
import org.iamd.web.mbeans.common.MBProgressBar;

/**
 * Описание на класовете, обслужващи интерфейсните елементи
 * 
 * @author Mim
 */
public enum ManagedBeans {

	/**
	 * Клас, който обслужва екрана за грешка
	 */
	error(MBError.class),

	/**
	 * Клас, който обслужва интерфейсния елемент за прогрес
	 */
	progressBar(MBProgressBar.class),

	/**
	 * Клас, който обслужва интерфейсния елемент за избор на език
	 */
	locale(MBLocale.class);

	private Class<? extends Object> cls;

	private ManagedBeans(Class<? extends Object> cls) {
		this.cls = cls;
	}

	/**
	 * Връща класа, който обслъжва интерфейсния елемент
	 */
	public Class<? extends Object> getPropClazz() {
		return this.cls;
	}

	/**
	 * Връща краткото име на класа, под което е описан във faces-config.xml-а.
	 */
	public String getPropName() {
		return name();
	}

}
